using FluentNHibernate.Mapping;
using Thaire.Investment.Domains.Transaction;

namespace Thaire.Investment.Repository.Mapping
{

    class UnitTrustHeaderMap : ClassMap<UnitTrustHeader>
    {

        public UnitTrustHeaderMap()
        {
            Table("UNIT_TRUST_HEADER");
            Id(x => x.ID, "UNIT_TRUST_HEADER_ID").GeneratedBy.Identity();

            Map(x => x.UnitTrustCompanyName, "UNIT_TRUST_COMPANY_NAME");
            Map(x => x.UnitTrustCompanyID, "UNIT_TRUST_COMPANY_ID");
            Map(x => x.MaturityStatus, "MATURITY_STATUS");
            Map(x => x.UnitTrustTypeName, "UNIT_TRUST_TYPE_NAME");
            Map(x => x.UnitTrustTypeID, "UNIT_TRUST_TYPE_ID");
            Map(x => x.UnitTrustTypeGroup, "UNIT_TRUST_TYPE_GROUP");
            Map(x => x.FundName, "FUND_NAME");
            Map(x => x.FundNameEn, "FUND_NAME_EN");
            Map(x => x.AssetMgmtName, "ASSET_MGMT_NAME");
            Map(x => x.AssetMgmtID, "ASSET_MGMT_ID");
            Map(x => x.Symbol, "SYMBOL");
            Map(x => x.TotalSize, "TOTAL_SIZE");
            Map(x => x.MaturityDate, "MATURITY_DATE");
            Map(x => x.BidPrice, "BID_PRICE");
            Map(x => x.Nav, "NAV");
            Map(x => x.BidPriceDate, "BID_PRICE_DATE");
            Map(x => x.NavDate, "NAV_DATE");
            Map(x => x.InitialPar, "INITIAL_PAR");
            Map(x => x.Par, "PAR");
            Map(x => x.ParDate, "PAR_DATE");
            Map(x => x.LiquidityTierIPercent, "LIQUIDITY_TIER_I_PERCENT");
            Map(x => x.LiquidityTierIIPercent, "LIQUIDITY_TIER_II_PERCENT");
            Map(x => x.LiquidityLowLiquidityPercent, "LIQUIDITY_LOW_LIQUIDITY_PERCENT");
            Map(x => x.InvolvedPartyTypeID, "INVOLVED_PARTY_TYPE_ID");
            Map(x => x.InvolvedPartyTypeName, "INVOLVED_PARTY_TYPE_NAME");
            Map(x => x.Related, "RELATED");
            Map(x => x.RemarkOic, "REMARK_OIC");
            Map(x => x.RemainUnit, "REMAIN_UNIT");
            Map(x => x.CreateDate, "CREATE_DATE");
            Map(x => x.CreateBY, "CREATE_BY");
            Map(x => x.ModifyDate, "MODIFY_DATE");
            Map(x => x.ModifyBY, "MODIFY_BY");
            Map(x => x.ListedStatus, "LISTED_STATUS");

        }


    }

}